package com.autumn.gateway.server;

import org.springframework.boot.Banner;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.retry.annotation.EnableRetry;

import com.autumn.config.client.annotation.EnableAutumnCloudConfigTraceClient;
import com.autumn.log.client.EnableAutumnLoggingClient;

/**
 * 网关服务器应用
 * 
 * @author 老码农
 *
 *         2017-12-06 14:08:16
 */
@ComponentScan({ "com.autumn.gateway.server" })
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, RabbitAutoConfiguration.class })
@EnableZuulProxy
@EnableRateLimit
@EnableEurekaClient
@EnableRetry
@EnableAutumnCloudConfigTraceClient
@EnableAutumnLoggingClient
@Configuration
public class GatewayServerApplication {

	public static void main(String[] args) {
		SpringApplicationBuilder app = new SpringApplicationBuilder(GatewayServerApplication.class);		
		app.bannerMode(Banner.Mode.OFF).run(args);
	}	
}
